package com.ruoyi.fsepc.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

import java.util.Date;
import java.util.List;

/**
 * FSE位置坐标日志对象 st_fse_location_log
 *
 * @author ruoyi
 * @date 2020-02-27
 */
public class StFseLocationLog extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    private Long id;

    /**
     * FSEID
     */
    @Excel(name = "FSEID")
    private String fseId;

    /**
     * FSE名称
     */
    @Excel(name = "FSE名称")
    private String fseName;

    /**
     * 最新X坐标 decimal(10,7)
     */
    @Excel(name = "最新X坐标")
    private Double postx;

    /**
     * 最新Y坐标 decimal(10,7)
     */
    @Excel(name = "最新Y坐标")
    private Double posty;

    /**
     * 接收时间
     */
    @Excel(name = "接收时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date receiveDate;

    /**
     * 网络状态
     */
    @Excel(name = "网络状态")
    private String networkState;

    /**
     * 位置服务状态 字典（例如经纬度获取成功或异常）
     */
    @Excel(name = "位置服务状态", readConverterExp = "例=如经纬度获取成功或异常")
    private String state;

    /**
     * 位置服务状态描述
     */
    /*@Excel(name = "位置服务状态描述")*/
    private String stateDescribe;

    /**
     * 1 定位上传，2 签到上传，3 签离上传，4 自动签离
     */
    @Excel(name = "位置类型", readConverterExp = "位置类型")
    private String type;

    @Excel(name = "地理位置",width = 50)
    private String address; //地址

    private Date startTime; //结束时间
    private Date endTime; //结束时间
    private List<String> fseIds; //多个enginnerId逗号分隔
    private Long lengthOfStay; //停留时长

    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setFseId(String fseId) {
        this.fseId = fseId;
    }

    public String getFseId() {
        return fseId;
    }

    public void setFseName(String fseName) {
        this.fseName = fseName;
    }

    public String getFseName() {
        return fseName;
    }

    public void setPostx(Double postx) {
        this.postx = postx;
    }

    public Double getPostx() {
        return postx;
    }

    public void setPosty(Double posty) {
        this.posty = posty;
    }

    public Double getPosty() {
        return posty;
    }

    public void setReceiveDate(Date receiveDate) {
        this.receiveDate = receiveDate;
    }

    public Date getReceiveDate() {
        return receiveDate;
    }

    public void setNetworkState(String networkState) {
        this.networkState = networkState;
    }

    public String getNetworkState() {
        return networkState;
    }

    public void setState(String state) {
        this.state = state;
    }

    public String getState() {
        return state;
    }

    public void setStateDescribe(String stateDescribe) {
        this.stateDescribe = stateDescribe;
    }

    public String getStateDescribe() {
        return stateDescribe;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public Date getStartTime() {
        return startTime;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public List<String> getFseIds() {
        return fseIds;
    }

    public void setFseIds(List<String> fseIds) {
        this.fseIds = fseIds;
    }

    public Long getLengthOfStay() {
        return lengthOfStay;
    }

    public void setLengthOfStay(Long lengthOfStay) {
        this.lengthOfStay = lengthOfStay;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("fseId", getFseId())
                .append("fseName", getFseName())
                .append("postx", getPostx())
                .append("posty", getPosty())
                .append("receiveDate", getReceiveDate())
                .append("networkState", getNetworkState())
                .append("state", getState())
                .append("stateDescribe", getStateDescribe())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .toString();
    }
}
